home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / FAPPOINT.SRC < prev    next >
Text File  |  1990-11-03  |  34KB  |  1,270 lines

  1. ;\|
  2. ;FAPPOINT.SRC     Translated from FAPPOINT.EDT by Roger Mathew's EDT2SRC Ver 4.11
  3.     define(crim_name|a|10||)
  4.     define(BLANK2|A|27||)
  5.     define(dud|a|1||)
  6.     define(SPEC_NAME|A|27||)
  7.     define(REF_CTR|N|3||)
  8.     define(temp_num|n|1||)
  9.     define(MOUNT_FLAG|A|1||)
  10.     define(error|n|3||)
  11.     define(DRCTR|N|10||)
  12.     define(FREEAPDR|N|2||)
  13.     define(CON_CTR|N|3||)
  14.     define(CLIN_NUM|N|3||)
  15.     define(EMERG_NUM|N|3||)
  16.     define(ISIT_EMER|A|1||)
  17.     define(MEM_DOC|N|1||)
  18.     define(STOP_P|N|3||)
  19.     define(STOP_P2|N|3||)
  20.     define(BLANK|A|27||)
  21.     define(REC|N|1||)
  22.     define(XGOTO|N|2||)
  23.     define(EXITFLAG|A|1||)
  24.     define(TIMEDAY|T|8||)
  25.     define(TD|S|8||)
  26.     define(TDAY|A|8||)
  27.     define(DIFF|N|2||)
  28.     define(XCNTR|N|3||)
  29.     define(RECALL|A|10||)
  30.     define(YCNTR|N|3||)
  31.     define(DUMMY2|A|3||)
  32.     define(DUMMY|A|3||)
  33.     define(MENU.HLDR|A|61||20)
  34.     define(CHOICE|N|2||)
  35.     define(LAG|A|1||)
  36.     define(RECNTR|N|1||)
  37.     define(MEM|N|3||)
  38.     define(MH|A|28||20)
  39.     define(PATCTR|N|2||)
  40.     define(FLAG|A|1||)
  41.     define(SETIME|T|8||)
  42.     define(CNTR|N|3||)
  43.     define(WEEK|N|2||)
  44.     define(DATEAP|S|8||)
  45.     define(DAY|A|9||)
  46.     define(DAYN|N|1||)
  47.     define(DRNAMEAP|A|15||)
  48.     define(FREEAM|N|2||)
  49.     define(FREEPM|N|2||)
  50.     define(CNTR1|N|3||)
  51.     define(SCR.CTR|N|2|0|)
  52.     define(MEMAPDR|N|2||)
  53.     define(MEMDRNAME|A|17||)
  54.     define(MEMDRDATE|S|8||)
  55.     define(NY|A|1||)
  56.     open(APPOINTS||1|OP_ERROR)
  57.     open(REFER||0|OP_ERROR)
  58.     open(RECALLS||0|OP_ERROR)
  59.     open(PATIENT||0|OP_ERROR)
  60.     open(APSET||0|OP_ERROR)
  61.     open(MEMORY||0|op_error)
  62.     find(B|APSET|OP_ERROR|)
  63.     gosub TRAP
  64.     mount(NEWAP|S)
  65.     MOUNT_FLAG = ("A")
  66.     flag = ("A")
  67.     date(td|g)
  68.     date(DATEAP|G)
  69.     find(b|mem_name|apdrX|)
  70.     drap = (mem_drap2)
  71.     find(m|drap|apdrX|)
  72.     if DRDATE < (TD) Do
  73.         {
  74.         gosub DELT.SCR
  75.         goto APDRX
  76.         }
  77.     DRNAMEAP = (DRNAME[APDR])
  78.     DAY =day(DRDATE)
  79.     choice = (apdr)
  80.     goto Findname
  81. START:
  82.     mount(NEWAP|S)
  83.     mount_flag = ("A")
  84.     flag = ("A")
  85. APDRX:
  86.     APDR = (1)
  87.     choice = (1)
  88.     DRDATE = (DATEAP)
  89.     DRNAMEAP = (DRNAME[APDR])
  90.     DAY =day(DRDATE)
  91.     find(G|DRAP|MENU|)
  92.     goto VAL
  93. FINDNAME:
  94.     find(M|DRAP|NOTFOUND|)
  95. NOTFOUND:
  96.     ifna(APPOINTS|S|ITSNOTTHER)
  97. FINDNAMEX:
  98.     gosub HOLS
  99.     find(B|APSET|OP_ERROR|)
  100.     SCR.CTR = (24)
  101.     if FLAG = ("A") then goto PATAMX
  102.     if FLAG = ("P") then goto PATPMX
  103. PATAM:
  104.     cursor(Y)
  105.     scrn(U)
  106.     gosub TRAP
  107.     if FLAG = ("P") then goto PATPM
  108.     FLAG = ("A")
  109.     gosub WHERE
  110.     SCR.CTR = (24)
  111.     pmsg(" ^T = Erase Name  ^Y = Memo  F9 = Sleep"|20|25|N|N|S|)
  112.     for(CNTR|1|SCR.CTR|1)
  113.         {
  114.         cursor(Y)
  115.         trap(J|G|PATPMX)
  116.         trap(U|D)
  117.         trap(N|S|SPACEAMX)
  118.         trap(M|S|SPACEBAMX)
  119.         trap(6|S|NAUGHTY)
  120.         trap(Q|G|MENU)
  121.         clr(PATIENT|B)
  122.         clr(RECALLS|B)
  123.         EXITFLAG = ("")
  124.         gosub GETDIFF
  125.         gosub SPACEAM
  126.         enter(PATAM[CNTR]||||Y|Y|N|||N)
  127.         if PATAM[CNTR] = ("") reent
  128.         ifcr(D)
  129.             {
  130.             gosub PATIENTS
  131.             gosub FINDRECALL
  132.             gosub SAVE
  133.             }
  134.         else
  135.             {
  136.             gosub TELAMADD
  137.             gosub SAVE
  138.             }
  139.         }
  140.     goto PATPMX
  141. PATPM:
  142.     cursor(Y)
  143.     scrn(U)
  144.     gosub TRAP
  145.     FLAG = ("P")
  146.     gosub WHERE
  147.     pmsg(" ^T = Erase Name  ^Y = Memo  F9 = Sleep"|20|25|N|N|S|)
  148.     scr.ctr = (24)
  149.     for(CNTR|1|SCR.CTR|1)
  150.         {
  151.         cursor(Y)
  152.         trap(J|G|PATAMX)
  153.         trap(U|D)
  154.         trap(Q|G|MENU)
  155.         trap(N|S|SPACEPMX)
  156.         trap(M|S|SPACEBPMX)
  157.         trap(6|S|NAUGHTY)
  158.         clr(PATIENT|B)
  159.         clr(RECALLS|B)
  160.         gosub SPACEPM
  161.         gosub GETDIFF
  162.         enter(PATPM[CNTR]||||Y|Y|N|||N)
  163.         if PATPM[CNTR] = ("") reent
  164.         ifcr(D)
  165.             {
  166.             gosub PATIENTS
  167.             gosub FINDRECALL
  168.             gosub SAVE
  169.             }
  170.         else
  171.             {
  172.             gosub TELAMADD
  173.             gosub SAVE
  174.             }
  175.         }
  176.     goto PATPM
  177. TWIN:
  178.     save(appoints|n|n|)
  179.     trap(%|I)
  180.     trap(Q|I)
  181.     saves(1)
  182.     window(20|12|2|30)
  183.     pmsg("Enter clinic number: "|1|1|y|n|s|temp_num)
  184.     redsp(1)
  185.     cursor(N)
  186.     LAG = ("")
  187.     APDR = (temp_num)
  188.     DAYN =day(DRDATE)
  189.     DAY =day(DRDATE)
  190.     DRNAMEAP = (DRNAME[APDR])
  191.     trap(%|d|)
  192.     trap(q|g|menu)
  193.     cursor(y)
  194.     pops
  195.     goto FINDNAME
  196. VAL:
  197.     CHOICE = (1)
  198.     goto SAVEMEM
  199. GAR:
  200.     CHOICE = (2)
  201.     goto SAVEMEM
  202. PAW:
  203.     CHOICE = (3)
  204.     goto SAVEMEM
  205. NUN:
  206.     CHOICE = (4)
  207.     goto SAVEMEM
  208. TR:
  209.     CHOICE = (5)
  210.     goto SAVEMEM
  211. DAY:
  212.     LAG = ("A")
  213.     DRDATE = (DRDATE+1)
  214.     gosub HOLS
  215.     find(M|DRAP|NOTFOUND)
  216.     goto FINDNAMEX
  217. DAYMINUS:
  218.     if DRDATE = (DATEAP) then goto FINDNAME
  219.     LAG = ("B")
  220.     DRDATE = (DRDATE-1)
  221.     if DRDATE = (TD) then goto FINDNAME
  222.     gosub HOLS
  223.     find(M|DRAP|NOTFOUND)
  224.     goto FINDNAMEX
  225. WEEK:
  226.     LAG = ("A")
  227.     DRDATE = (DRDATE+7)
  228.     gosub HOLS
  229.     find(M|DRAP|NOTFOUND)
  230.     goto FINDNAMEX
  231. WEEKMINUS:
  232.     if DRDATE <= (DATEAP+6) then goto FINDNAME
  233.     LAG = ("B")
  234.     DRDATE = (DRDATE-7)
  235.     gosub HOLS
  236.     find(M|DRAP|NOTFOUND|)
  237.     goto FINDNAMEX
  238. TODAY:
  239.     LAG = ("")
  240.     DRDATE = (DATEAP)
  241.     gosub HOLS
  242.     find(M|DRAP|NOTFOUND)
  243.     goto FINDNAMEX
  244. PATPMX:
  245.     if mount_flag = ("P") goto patpm
  246.     mount(PATPM|S)
  247.     mount_flag = ("P")
  248.     FLAG = ("P")
  249.     goto PATPM
  250. PATAMX:
  251.     if mount_flag = ("A") goto patam
  252.     mount(NEWAP|S)
  253.     mount_flag = ("A")
  254.     FLAG = ("A")
  255.     goto PATAM
  256. MENU:
  257.     trap(H|I)
  258.     LAG = ("")
  259.     find(B|APSET|SETUP|)
  260.     MH[1] = (" A - "+DRNAME[1]+"   0102A")
  261.     MH[2] = (" B - "+DRNAME[2]+"   0103B")
  262.     MH[3] = (" C - "+DRNAME[3]+"   0104C")
  263.     MH[4] = (" D - "+DRNAME[4]+"   0105D")
  264.     MH[5] = (" E - "+DRNAME[5]+"   0106E")
  265.     MH[6] = (" F - "+DRNAME[6]+"   0107F")
  266.     MH[7] = (" G - "+DRNAME[7]+"   0108G")
  267.     MH[8] = (" H - "+DRNAME[8]+"   0109H")
  268.     MH[9] = (" I - "+DRNAME[9]+"   0110I")
  269.     MH[10] = (" J - "+DRNAME[10]+"   0111J")
  270.     MH[11] = (" K - "+DRNAME[11]+"   0112K")
  271.     MH[12] = (" L - "+DRNAME[12]+"   0113L")
  272.     MH[13] = (" M - "+DRNAME[13]+"   0114M")
  273.     MH[14] = (" N - "+DRNAME[14]+"   0115N")
  274.     MH[15] = (" O - "+DRNAME[15]+"   0116O")
  275.     MH[16] = (" P - AGE-SEX           0117P")
  276.     MH[17] = (" S - SETUP SCREEN      0118S")
  277.     MH[18] = (" X - EXIT/BACKUP       0119X")
  278.     MH[19] = (" Q - FREE APPOINTS     0120Q")
  279.     menu(20|22|21|24|0|MH|CHOICE|19|23|MENU||"----APPOINTMENTS---"|N)
  280.     on(CHOICE|G|DR;DR;DR;DR;DR;DR;DR;DR;DR;DR;DR;DR;DR;DR;DR;AGSX;SETUP;EXIT;FREE|MENU)
  281. DR:
  282.     gosub SAVE
  283.     APDR = (CHOICE)
  284.     goTO savemem
  285. SAVE:
  286.     if patam[1] = ("AWAY") do
  287.         {
  288.         if patpm[1] = ("AWAY") goto rrrett
  289.         }
  290.     if patpm[1] = ("AWAY") do
  291.         {
  292.         if patam[1] = ("AWAY") goto rrrett
  293.         }
  294.     for(CNTR1|1|24|1)
  295.         {
  296.         if PATAM[CNTR1] > ("") goto RRRET
  297.         if PATPM[CNTR1] > ("") goto RRRET
  298.         }
  299.     goto RRRETT
  300. RRRET:
  301.     save(APPOINTS|N|N|)
  302.     find(M|DRAP||)
  303. RRRETT:
  304.     ret
  305. TELAMADD:
  306.     cursor(Y)
  307.     saves(1)
  308.     trap(%|I)
  309.     trap(Q|I)
  310.     window(33|18|2|13)
  311. TELP:
  312.     pmsg("Tel:"|1|1|N|N|S|)
  313.     if FLAG = ("A") then enter(TELAM[CNTR]|||TELPUP|N|Y|N|5|1|N)
  314.     if FLAG = ("P") then enter(TELPM[CNTR]|||TELPUP|N|Y|N|5|1|N)
  315. TELPUP:
  316.     trap(%|D)
  317.     trap(Q|G|MENU)
  318.     redsp(1)
  319.     ret
  320. FINDRECALL:
  321.     cursor(N)
  322.     if FLAG = ("A") do
  323.         {
  324.         COD.PAT.NAME = (PATAM[CNTR])
  325.         find(M|COD.PAT.NAME|RECRET|)
  326.         for(RECNTR|1|9|1)
  327.             {
  328.             if COD.D[RECNTR] <= (DRDATE) do
  329.                 {
  330.                 if COD[RECNTR] = ("****") do
  331.                     {
  332.                     RECAM[CNTR] = (RECNTR)
  333.                     saves(1)
  334.                     rev
  335.                     window(15|12|2|54)
  336.                     pmsg("SMEAR DATE NOT KNOWN - PLEASE GET INFO NOW"|1|1|Y|N|S|)
  337.                     frg
  338.                     redsp(1)
  339.                     }
  340.                 else
  341.                     {
  342.                     if COD.D[RECNTR] <> (0) do
  343.                         {
  344.                         RECAM[CNTR] = (RECNTR)
  345.                         gosub GETNAME
  346.                         saves(1)
  347.                         rev
  348.                         window(15|21|2|54)
  349.                         pmsg("RECALL OVERDUE-> ";COD[RECNTR];"  ";COD.D[RECNTR];" ";RECALL|1|1|Y|N|S|)
  350.                         frg
  351.                         redsp(1)
  352.                         }
  353.                     }
  354.                 }
  355.             }
  356.         }
  357.     else
  358.         {
  359.         COD.PAT.NAME = (PATPM[CNTR])
  360.         find(M|COD.PAT.NAME|RECRET|)
  361.         for(RECNTR|1|9|1)
  362.             {
  363.             if COD.D[RECNTR] <= (DRDATE) do
  364.                 {
  365.                 if COD[RECNTR] = ("****") do
  366.                     {
  367.                     RECPM[CNTR] = (RECNTR)
  368.                     saves(1)
  369.                     rev
  370.                     window(15|12|2|54)
  371.                     pmsg("SMEAR DATE NOT KNOWN - PLEASE GET INFO NOW"|1|1|Y|N|S|)
  372.                     frg
  373.                     redsp(1)
  374.                     }
  375.                 if COD.D[RECNTR] <> (0) do
  376.                     {
  377.                     RECPM[CNTR] = (RECNTR)
  378.                     gosub GETNAME
  379.                     saves(1)
  380.                     rev
  381.                     window(15|21|2|52)
  382.                     pmsg("RECALL OVERDUE ";COD.D[RECNTR];" ";RECALL|1|1|Y|N|S|)
  383.                     frg
  384.                     redsp(1)
  385.                     }
  386.                 }
  387.             }
  388.         }
  389. RECRET:
  390.     if FLAG = ("A") do
  391.         {
  392.         PATIENT.NAME = (PATAM[CNTR])
  393.         }
  394.     else
  395.         {
  396.         PATIENT.NAME = (PATPM[CNTR])
  397.         }
  398.     find(M|PATIENT.NAME|SECRET|)
  399.     if TELEPHONE > (0) do
  400.         {
  401.         if FLAG = ("A") then TELAM[CNTR] = (TELEPHONE)
  402.         if FLAG = ("P") then TELPM[CNTR] = (TELEPHONE)
  403.         }
  404. MAKE_SEEN:
  405. TELSEC:
  406.     gosub TELAMADD
  407.     if FLAG = ("A") then TELEPHONE = (TELAM[CNTR])
  408.     if FLAG = ("P") then TELEPHONE = (TELPM[CNTR])
  409.     save(PATIENT|N|Y)
  410. RECRETRET:
  411. SECRET:
  412.     ret
  413. PATIENTS:
  414.     MENU.HLDR[1] = (" A - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0101A")
  415.     MENU.HLDR[2] = (" B - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0102B")
  416.     MENU.HLDR[3] = (" C - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0103C")
  417.     MENU.HLDR[4] = (" D - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0104D")
  418.     MENU.HLDR[5] = (" E - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0105E")
  419.     MENU.HLDR[6] = (" F - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0106F")
  420.     MENU.HLDR[7] = (" G - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0107G")
  421.     MENU.HLDR[8] = (" H - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0108H")
  422.     MENU.HLDR[9] = (" I - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0109I")
  423.     MENU.HLDR[10] = (" J - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0110J")
  424.     MENU.HLDR[11] = (" K - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0111K")
  425.     MENU.HLDR[12] = (" L - xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx 0112L")
  426.     MENU.HLDR[13] = (" M - more                                               0113M")
  427.     trap(Q|I)
  428.     if FLAG = ("A") DO
  429.         {
  430.         BLANK2 = ("")
  431.         BLANK = ("")
  432.         stop_p =loc("."|patam[cntr]|1||27)
  433.         STOP_P2 = (27-STOP_P)
  434.         BLANK2 =mid(PATAM[CNTR]|STOP_P|STOP_P2|)
  435.         mid(PATAM[CNTR]|STOP_P|STOP_P2|BLANK|)
  436.         PATIENT.NAME = (PATAM[CNTR])
  437.         }
  438.     else
  439.         {
  440.         BLANK2 = ("")
  441.         BLANK = ("")
  442.         stop_p =loc("."|patPm[cntr]|1||27)
  443.         STOP_P2 = (27-STOP_P)
  444.         BLANK2 =mid(PATPM[CNTR]|STOP_P|STOP_P2|)
  445.         mid(PATPM[CNTR]|STOP_P|STOP_P2|BLANK|)
  446.         PATIENT.NAME = (PATPM[CNTR])
  447.         }
  448.     find(G|PATIENT.NAME|RETRETRET|)
  449.     CLIN_NUM = (1)
  450.     CON_CTR = (1)
  451.     YCNTR = (1)
  452.     STOP_P = (0)
  453. FILES.1:
  454.     mid(DUMMY|CON_CTR|27|PATIENT.NAME|1)
  455.     mid(DUMMY2|YCNTR|22|ADDRESS1|2)
  456.     CON_CTR = (CON_CTR + 27)
  457.     YCNTR = (YCNTR+22)
  458.     STOP_P = (STOP_P + 1)
  459. FILES.1X:
  460.     find(N|PATIENT|FILES.2|)
  461.     CLIN_NUM = (CLIN_NUM+1)
  462.     if CLIN_NUM > (39) then goto FILES.2
  463.     goto FILES.1
  464. FILES.2:
  465.     CON_CTR = (1)
  466.     YCNTR = (1)
  467. FILES.3:
  468.     REF_CTR = (1)
  469. FILES.4:
  470.     PATIENT.NAME =mid(DUMMY|CON_CTR|27|1)
  471.     ADDRESS1 =mid(DUMMY2|YCNTR|22|2)
  472.     mid(MENU.HLDR[REF_CTR]|6|27|PATIENT.NAME|)
  473.     mid(MENU.HLDR[REF_CTR]|34|22|ADDRESS1|)
  474.     STOP_P = (STOP_P - 1)
  475.     CON_CTR = (CON_CTR + 27)
  476.     YCNTR = (YCNTR+22)
  477.     if STOP_P > (0) do
  478.         {
  479.         if REF_CTR < (12) do
  480.             {
  481.             REF_CTR = (REF_CTR + 1)
  482.             goto FILES.4
  483.             }
  484.         else
  485.             {
  486.             REF_CTR = (REF_CTR + 1)
  487.             goto FILES.5
  488.             }
  489.         }
  490. FILES.5:
  491.     PATIENT.NAME = ("")
  492.     STOP_P2 = (REF_CTR + 1)
  493.     CLIN_NUM = (1)
  494.     menu(12|19|STOP_P2|57|0|MENU.HLDR|CLIN_NUM|REF_CTR|56|FLAGEXIT||"PATIENTS"|N)
  495.     if CLIN_NUM < (13) do
  496.         {
  497.         if FLAG = ("A") do
  498.             {
  499.             PATAM[CNTR] =mid(MENU.HLDR[CLIN_NUM]|6|27|)
  500.             trim(PATAM[CNTR]|T)
  501.             PATAM[CNTR] = (PATAM[CNTR]+"  "+BLANK2)
  502.             ADAM[CNTR] =mid(MENU.HLDR[CLIN_NUM]|34|22|)
  503.             ret
  504.             }
  505.         else
  506.             {
  507.             PATPM[CNTR] =mid(MENU.HLDR[CLIN_NUM]|6|27|)
  508.             trim(PATPM[CNTR]|T)
  509.             PATPM[CNTR] = (PATPM[CNTR]+"  "+BLANK2)
  510.             ADPM[CNTR] =mid(MENU.HLDR[CLIN_NUM]|34|22|)
  511.             ret
  512.             }
  513.         }
  514.     goto FILES.3
  515. RETRETRET:
  516.     EXITFLAG = (" ")
  517.     ret
  518. FLAGEXIT:
  519.     EXITFLAG = ("X")
  520.     ret
  521. GETNAME:
  522.     if FLAG = ("A") then XGOTO = (RECAM[CNTR])
  523.     if FLAG = ("P") then XGOTO = (RECPM[CNTR])
  524.     if XGOTO = (0) do
  525.         {
  526.         RECALL = ("")
  527.         ret
  528.         }
  529.     on(XGOTO|G|SM;CO;BP;DI;EP;TH;AN;AS;PS|)
  530. SM:
  531.     RECALL = ("SMEAR")
  532.     ret
  533. CO:
  534.     RECALL = ("CONTRA")
  535.     ret
  536. BP:
  537.     RECALL = ("IMMUN")
  538.     ret
  539. DI:
  540.     RECALL = ("DIABETIC")
  541.     ret
  542. EP:
  543.     RECALL = ("PAEDS")
  544.     ret
  545. TH:
  546.     RECALL = ("THYROID")
  547.     ret
  548. AN:
  549.     RECALL = ("RP CHECK")
  550.     ret
  551. AS:
  552.     RECALL = ("ASTHMA")
  553.     ret
  554. PS:
  555.     RECALL = ("BP")
  556.     ret
  557. SPACEAMX:
  558.     clr(PATIENT|B)
  559.     clr(RECALLS|B)
  560.     CNTR = (CNTR+1)
  561.     if CNTR => (SCR.CTR) then CNTR = (SCR.CTR)
  562.     ret
  563. SPACEBAMX:
  564.     clr(PATIENT|B)
  565.     clr(RECALLS|B)
  566.     CNTR = (CNTR-1)
  567.     if CNTR <= (1) then CNTR = (1)
  568.     ret
  569. SPACEAM:
  570.     for(CNTR|1|SCR.CTR|1)
  571.         {
  572.         if PATAM[CNTR] = ("") ret
  573.         }
  574.     ret
  575. SPACEPMX:
  576.     CNTR = (CNTR+1)
  577.     if CNTR => (SCR.CTR) then CNTR = (SCR.CTR)
  578.     ret
  579. SPACEBPMX:
  580.     CNTR = (CNTR-1)
  581.     if CNTR <= (1) then CNTR = (1)
  582.     ret
  583. SPACEPM:
  584.     for(CNTR|1|SCR.CTR|1)
  585.         {
  586.         if PATPM[CNTR] = ("") ret
  587.         }
  588.     ret
  589. GETDIFF:
  590.     date(TD|G)
  591.     time(TIMEDAY|G)
  592.     TDAY =day(TD)
  593.     DIFF = (DRDATE-TD)
  594.     window(6|24|2|68)
  595.     pmsg("  ";TDAY;" ";TD;"   ";" ";TIMEDAY;"    ";"Days to appointment";" ";@C240;DIFF;@C7|2|1|N|Y|S|)
  596.     force(y)
  597.     ret
  598. WHERE:
  599.     if DAYN = (2) do
  600.         {
  601.         if APDR = (1) then goto OFF?
  602.         }
  603.     if FLAG = ("P") do
  604.         {
  605.         if DAYN = (3) do
  606.             {
  607.             if APDR = (4) then goto OFF?
  608.             }
  609.         if DAYN = (5) do
  610.             {
  611.             if APDR = (2) then goto OFF?
  612.             }
  613.         if DAYN = (6) do
  614.             {
  615.             if APDR = (3) then goto OFF?
  616.             }
  617.         if apdr = (7) do
  618.             {
  619.             if dayn = (2) then goto OFF?
  620.             if dayn = (3) then goto OFF?
  621.             if dayn = (4) then goto OFF?
  622.             }
  623.         }
  624.     if flag = ("A") do
  625.         {
  626.         if apdr = (6) do
  627.             {
  628.             if dayn = (4) do
  629.                 {
  630.                 if patam[1] = ("") then patam[1] = ("AWAY")
  631.                 }
  632.             }
  633.         }
  634. OFF?RET:
  635.     ret
  636. OFF?:
  637.     if patpm[1] = ("") then patpm[1] = ("AWAY")
  638.     goto off?ret
  639. NAUGHTY:
  640.     BLANK = ("")
  641.     if FLAG = ("A") do
  642.         {
  643.         PATAM[CNTR] = ("")
  644.         ADAM[CNTR] = ("")
  645.         TELAM[CNTR] = (0)
  646.         RECAM[CNTR] = (0)
  647.         }
  648.     if FLAG = ("P") do
  649.         {
  650.         PATPM[CNTR] = ("")
  651.         ADPM[CNTR] = ("")
  652.         TELPM[CNTR] = (0)
  653.         RECPM[CNTR] = (0)
  654.         }
  655. SEEN_RET:
  656.     save(APPOINTS|N|N)
  657.     find(M|DRAP||)
  658.     ret
  659. SETTIME:
  660.     find(B|APSET|OP_ERROR|)
  661.     if SECSETAM[APDR] = (000) goto SETPM
  662.     SETIME = (TIMESETAM[APDR])
  663.     SCR.CTR = (SECONDS2[apdr]/SECSETAM[APDR])
  664.     if SCR.CTR > (24) then SCR.CTR = (24)
  665.     TIMEAM[1] =mid(SETIME|1|5|)
  666.     CNTR = (1)
  667.     for(CNTR|2|SCR.CTR|1)
  668.         {
  669.         SETIME = (SETIME+SECSETAM[APDR])
  670.         TIMEAM[CNTR] =mid(SETIME|1|5|)
  671.         }
  672. SETPM:
  673.     if SECSETPM[APDR] = (000) ret
  674.     SETIME = (TIMESETPM[APDR])
  675.     SCR.CTR = (SECONDS2[apdr]/SECSETPM[APDR])
  676.     if SCR.CTR > (24) then SCR.CTR = (24)
  677.     TIMEPM[1] =mid(SETIME|1|5|)
  678.     CNTR = (1)
  679.     for(CNTR|2|SCR.CTR|1)
  680.         {
  681.         SETIME = (SETIME+SECSETPM[APDR])
  682.         TIMEPM[CNTR] =mid(SETIME|1|5|)
  683.         }
  684.     ret
  685. HOLS:
  686.     DAYN =day(DRDATE)
  687.     DAY =day(DRDATE)
  688. SUNDAY:
  689.     if DAYN = (1) do
  690.         {
  691.         if LAG <> ("") do
  692.             {
  693.             gosub ADDSUB
  694.             goto HOLS
  695.             }
  696.         else
  697.             {
  698.             DRDATE = (DRDATE+1)
  699.             goto HOLS
  700.             }
  701.         }
  702. MONDAY:
  703. DAYOFF:
  704.     if DAYNO[APDR] = (DAYN) do
  705.         {
  706.         if patam[1] = ("") then patam[1] = ("AWAY")
  707.         if patpm[1] = ("") then patpm[1] = ("AWAY")
  708.         goto HOLIDRET
  709.         }
  710.     if apdr = (6) do
  711.         {
  712.         if dayn = (5) do
  713.             {
  714.             if patam[1] = ("") then patam[1] = ("AWAY")
  715.             if patpm[1] = ("") then patpm[1] = ("AWAY")
  716.             goto HOLIDRET
  717.             }
  718.         if dayn = (6) do
  719.             {
  720.             if patam[1] = ("") then patam[1] = ("AWAY")
  721.             if patpm[1] = ("") then patpm[1] = ("AWAY")
  722.             goto HOLIDRET
  723.             }
  724.         }
  725. OFFHOL:
  726.     if DRDATE => (HD1[APDR]) do
  727.         {
  728.         if DRDATE <= (HD2[APDR]) do
  729.             {
  730.             gosub HOLIDAY
  731.             goto HOLIDRET
  732.             }
  733.         }
  734.     if DRDATE => (HD3[APDR]) do
  735.         {
  736.         if DRDATE <= (HD4[APDR]) do
  737.             {
  738.             gosub HOLIDAY
  739.             goto HOLIDRET
  740.             }
  741.         }
  742. HOLIDRET:
  743.     ret
  744. ADDSUB:
  745.     if LAG = ("A") then DRDATE = (DRDATE+1)
  746.     if LAG = ("B") then DRDATE = (DRDATE-1)
  747.     ret
  748. HOLIDAY:
  749.     if patam[1] = ("") then patam[1] = ("AWAY")
  750.     if patpm[1] = ("") then patpm[1] = ("AWAY")
  751.     ret
  752. SETUP:
  753.     gosub SAVE
  754.     run("APSET")
  755. OP_ERROR:
  756.     pmsg("FILE OPEN ERROR"|30|12|Y|N|S|)
  757.     run("FAPPOINT")
  758. FREE:
  759.     run("FREEAP")
  760. LOCKED:
  761.     pmsg("Record in use by another station - press a key"|10|19|y|n|s|)
  762.     run("FAPPOINT")
  763. f_error:
  764.     lferrn(error)
  765.     pmsg("Note this number.Then press a key 4 times : ";error|20|19|n|n|s|)
  766.     pmsg(""|1|1|y|n||)
  767.     pmsg(""|1|1|y|n||)
  768.     pmsg(""|1|1|y|n||)
  769.     pmsg(""|1|1|y|n||)
  770.     run("FAPPOINT")
  771. MEMOSUB:
  772.     FLAG = (FLAG)
  773.     find(b|mem_name|runmemo2|)
  774.     if flag = ("A") then mem_name = (patam[cntr])
  775.     if flag = ("P") then mem_name = (patpm[cntr])
  776.     if mem_name = ("") then mem_name = ("A")
  777.     mem_drap2 = (drap)
  778.     save(memory|n|y|)
  779. runmemo2:
  780.     gosub save
  781.     clrlne(1|25)
  782.     run("MEMO2")
  783. EXIT:
  784.     gosub SAVE
  785.     find(B|DRDATE||)
  786.     find(B|MEM_NAME|EXITAGAIN|)
  787.     MEM_DRAP2 = (DRAP)
  788.     MEM_NAME = ("A")
  789.     save(MEMORY|N|y|)
  790. EXITAGAIN:
  791.     run("recmenu")
  792. DELT.SCR:
  793.     date(dateap|g)
  794.     trap(q|g|system)
  795.     saves(1)
  796.     window(10|10|3|60)
  797.     pmsg("TODAY'S DATE SHOULD BE : ";DATEAP; "IF IT IS WRONG PRESS ESC  "|1|1|n|n||)
  798.     pmsg("AND CHANGE DATE ON THE SERVER NOW.PRESS RET AND WAIT"|1|2|n|n||)
  799.     enter(dud||||n|y|n|59|2|n)
  800. REC.DELT:
  801.     date(dateap|g)
  802.     blank = ("")
  803.     ycntr = (1)
  804.     find(b|drdate|ttt|n)
  805.     ifna(APPOINTS|G|TTT)
  806.     if DRDATE => (DATEAP) GOTO TTT
  807. ROUND:
  808.     stop_p =loc("."|patam[ycntr]|1||27)
  809.     STOP_P2 = (27-STOP_P)
  810.     mid(PATAM[YCNTR]|STOP_P|STOP_P2|BLANK|)
  811.     PATIENT.NAME = (PATAM[YCNTR])
  812.     find(M|PATIENT.NAME|NOPATFIN|)
  813.     SEEN = (DRDATE)
  814.     DATE_SEEN = (SEEN)
  815.     save(PATIENT|N|Y)
  816. NOPATFIN:
  817.     STOP_P =loc("."|PATPM[YCNTR]|1||27)
  818.     STOP_P2 = (27-STOP_P)
  819.     mid(PATPM[YCNTR]|STOP_P|STOP_P2|BLANK|)
  820.     PATIENT.NAME = (PATPM[YCNTR])
  821.     find(M|PATIENT.NAME|NOPATFAT|)
  822.     SEEN = (DRDATE)
  823.     DATE_SEEN = (SEEN)
  824.     save(PATIENT|N|Y)
  825. NOPATFAT:
  826.     YCNTR = (YCNTR+1)
  827.     if YCNTR > (24) goto KILLIT
  828.     goto ROUND
  829. KILLIT:
  830.     MEM_SEEN = (0)
  831.     for(YCNTR|1|24|1)
  832.         {
  833.         if PATAM[YCNTR] > ("") then MEM_SEEN = (MEM_SEEN+1)
  834.         if PATPM[YCNTR] > ("") then MEM_SEEN = (MEM_SEEN+1)
  835.         }
  836.     REF_COD = (APDR)
  837.     find(M|REF_COD||)
  838.     REF_COD = (APDR)
  839.     NUM_SEEN = (NUM_SEEN+MEM_SEEN)
  840.     MEM_SEEN = (0)
  841.     save(REFER|N|Y)
  842.     del(APPOINTS|N)
  843.     trap(Q|G|MENU)
  844.     goto rec.delt
  845. TTT:
  846.     clr(appoints|b)
  847.     redsp(1)
  848.     ret
  849. SYSTEM:
  850.     run("recmenu")
  851. TRAPS:
  852.     trap(q|g|menu)
  853.     trap(5|I)
  854.     trap(L|I)
  855.     trap(6|I)
  856.     trap(4|I)
  857.     trap(F|I)
  858.     trap(7|I)
  859.     trap(9|I)
  860.     trap(3|I)
  861.     trap(1|I)
  862.     trap(D|I)
  863.     trap(T|I)
  864.     trap(C|I)
  865.     trap(b|i)
  866.     trap(G|I)
  867.     trap(J|I)
  868.     trap(H|I)
  869.     trap(R|I)
  870.     trap(L|D)
  871.     trap(S|I)
  872.     ret
  873. TRAP:
  874.     trap(Q|G|MENU)
  875.     trap(o|g|f_error)
  876.     trap(5|S|ENDER)
  877.     trap(4|G|MEMOSUB)
  878.     trap(7|G|VAL)
  879.     trap(9|G|GAR)
  880.     trap(3|G|NUN)
  881.     trap(1|G|PAW)
  882.     trap(D|G|DAY)
  883.     trap(T|G|tr)
  884.     trap(C|G|DAYMINUS)
  885.     trap(B|G|WEEKMINUS)
  886.     trap(G|G|WEEK)
  887.     trap(H|S|twin)
  888.     trap(R|I)
  889.     trap(F|G|CLEARAPPS)
  890.     trap(S|G|TODAY)
  891.     trap(L|G|LOCKED)
  892.     ret
  893. SAVEMEM:
  894.     scrn(l)
  895.     cursor(N)
  896.     date(TD|G)
  897.     LAG = ("")
  898. FINDFREE:
  899.     APDR = (CHOICE)
  900.     DRCTR = (0)
  901.     DRDATE = (TD)
  902.     dayn =day(drdate)
  903.     DAY =day(DRDATE)
  904.     DRNAMEAP = (DRNAME[APDR])
  905.     gosub skip
  906.     FREEAPDR = (APDR)
  907.     find(M|DRAP|ITSNOT|N)
  908. ITSNOT:
  909.     ifna(APPOINTS|S|ITSNOTTHER)
  910. TESTFREEAM:
  911.     if SECSETAM[APDR] = (0) goto TESTFREEPM
  912.     if apdr = (6) then if dayn = (4) goto testfreepm
  913.     gosub hols
  914.     if patam[1] = ("AWAY") goto testnext
  915.     if patam[1] = (".AWAY") goto testnext
  916.     SETIME = (TIMESETAM[APDR])
  917.     SCR.CTR = (SECONDS2[apdr]/SECSETAM[APDR])
  918.     if SCR.CTR > (24) then SCR.CTR = (24)
  919.     for(CNTR|1|SCR.CTR|1)
  920.         {
  921.         if PATAM[CNTR] = ("") do
  922.             {
  923.             FLAG = ("A")
  924.             cursor(y)
  925.             scrn(u)
  926.             goto patamx
  927.             }
  928.         }
  929. TESTFREEPM:
  930.     if SECSETPM[APDR] = (0) goto TESTNEXT
  931.     if apdr = (7) do
  932.         {
  933.         if dayn = (2) goto testnext
  934.         if dayn = (3) goto testnext
  935.         if dayn = (4) goto testnext
  936.         }
  937.     if patpm[1] = (".AWAY") goto testnext
  938.     if patpm[1] = ("AWAY") goto testnext
  939.     SETIME = (TIMESETPM[APDR])
  940.     SCR.CTR = (SECONDS2[APDR]/SECSETPM[APDR])
  941.     if SCR.CTR > (24) then SCR.CTR = (24)
  942.     for(CNTR|1|SCR.CTR|1)
  943.         {
  944.         if PATPM[CNTR] = ("") do
  945.             {
  946.             FLAG = ("P")
  947.             cursor(y)
  948.             scrn(u)
  949.             goto patpmx
  950.             }
  951.         if CNTR = (SCR.CTR) goto TESTNEXT
  952.         }
  953. TESTNEXT:
  954.     APDR = (CHOICE)
  955.     FREEAPDR = (APDR)
  956.     DRCTR = (DRCTR+1)
  957.     DRDATE = (TD+DRCTR)
  958.     dayn =day(drdate)
  959.     if DRCTR > (28) do
  960.         {
  961.         DRDATE = (TD)
  962.         goto FREERET
  963.         }
  964.     gosub skip
  965.     find(M|DRAP|ITSNOT|N)
  966.     goto TESTFREEAM
  967. FREERET:
  968.     cursor(y)
  969.     scrn(u)
  970.     if flag = ("A") goto patamx
  971.     if flag <> ("A") goto patpmx
  972.     goto start
  973. SKIP:
  974.     if apdr < (6) then if dayn = (7) goto testsub
  975.     if dayn = (1) goto testsub
  976.     if apdr = (1) then if dayn = (3) goto testsub
  977.     if apdr = (2) then if dayn = (4) goto testsub
  978.     if apdr = (3) then if dayn = (4) goto testsub
  979.     if apdr = (4) then if dayn = (5) goto testsub
  980.     if apdr = (6) then if dayn = (5) goto testsub
  981.     if apdr = (6) then if dayn = (6) goto testsub
  982.     if apdr = (8) do
  983.         {
  984.         if dayn < (2) goto testsub
  985.         if dayn > (4) goto testsub
  986.         }
  987.     if apdr = (9) do
  988.         {
  989.         if dayn <> (4) goto testsub
  990.         }
  991.     if apdr = (10) do
  992.         {
  993.         if dayn < (5) goto testsub
  994.         if dayn > (6) goto testsub
  995.         }
  996.     if apdr = (11) do
  997.         {
  998.         if dayn <> (7) goto testsub
  999.         }
  1000.     ret
  1001. TESTSUB:
  1002.     pops
  1003.     goto testnext
  1004. ITSNOTTHER:
  1005.     MEMAPDR = (APDR)
  1006.     MEMDRNAME = (DRNAME[APDR])
  1007.     MEMDRDATE = (DRDATE)
  1008.     clr(APPOINTS|B)
  1009.     APDR = (MEMAPDR)
  1010.     DRNAME[APDR] = (MEMDRNAME)
  1011.     DRDATE = (MEMDRDATE)
  1012.     gosub SETTIME
  1013.     DRNAMEAP = (DRNAME[APDR])
  1014.     ret
  1015. CLEARAPPS:
  1016.     for(CNTR1|1|24|1)
  1017.         {
  1018.         if PATAM[CNTR1] > ("") goto APSAVE
  1019.         if PATPM[CNTR1] > ("") goto APSAVE
  1020.         }
  1021.     goto NOAPSAVE
  1022. APSAVE:
  1023.     save(APPOINTS|N|Y)
  1024.     gosub ENDER
  1025. NOAPSAVE:
  1026.     clr(APPOINTS|B)
  1027.     trap(%|I)
  1028.     gosub TRAPS
  1029.     trap(Q|i)
  1030.     mount(SLEEP|S)
  1031.     pmsg(""|1|1|Y|N||)
  1032.     trap(%|D)
  1033.     gosub TRAP
  1034.     goto start
  1035. ENDER:
  1036.     saves(1)
  1037.     window(1|24|23|79)
  1038.     pmsg("BACKING UP"|40|12|N|N|S|)
  1039.     dos("c:")
  1040.     dos("cd\systas")
  1041.     dos("ncopy p:appoints.m")
  1042.     dos("ncopy p:apset.m")
  1043.     dos("i:")
  1044.     redsp(1)
  1045.     ret
  1046. AGSX:
  1047.     run("PATREC")
  1048. \SSNEWAP   
  1049.            MORNING Appointments for                                             ┌───────────────
  1050. ──────────────────────────────────────────────────────────────┐ │  p     :p p p p p p p p p p p p p p p p p p p p p p p p
  1051.  p p p p p     p p p p p p:p                            p  │ │  p     :p                            p     p     :p
  1052.                             p  │ │  p     :p                            p     p     :p                
  1053.             p  │ │  p     :p                            p     p     :p                            p  │ 
  1054. │  p     :p                            p     p     :p                            p  │ │  p     :p       
  1055.                      p     p     :p                            p  │ │  p     :p                       
  1056.      p     p     :p                            p  │ │  p     :p                            p     p     :p
  1057.                             p  │ │  p     :p p                           p     p     :p                
  1058.             p  │ │  p p p p p p:p p                           p p    p     :p p p p p p p p p p p p p p p p p p p p p p p p p p p p p  │ 
  1059. │  p p p p p p:p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p    p p p p p p:p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p │ │  p p p p p p:p p p p p p p p
  1060.  p p p p p p p p p p p p p p p p p p p p p     p p p p p p:p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p │ └───────────────────────────────
  1061. ──────────────────────────────────────────────┘                                                 
  1062.                                                                                                 
  1063.                                                                                                 
  1064.                                                                                                 
  1065.                                                                                                 
  1066.                                                                                                 
  1067.                                                                                                 
  1068.                                                                                                 
  1069. \
  1070. DRNAMEAP           15 A 37 1
  1071. DAY                 9 A 52 1
  1072. DRDATE              8 S 62 1
  1073. TIMEAM           1  5 A  4 3
  1074. PATAM            1 27 A 10 3
  1075. RECAM            1  1 N 38 3
  1076. TIMEAM          13  5 A 43 3
  1077. PATAM           13 27 A 49 3
  1078. RECAM           13  1 N 77 3
  1079. TIMEAM           2  5 A  4 4
  1080. PATAM            2 27 A 10 4
  1081. RECAM            2  1 N 38 4
  1082. TIMEAM          14  5 A 43 4
  1083. PATAM           14 27 A 49 4
  1084. RECAM           14  1 N 77 4
  1085. TIMEAM           3  5 A  4 5
  1086. PATAM            3 27 A 10 5
  1087. RECAM            3  1 N 38 5
  1088. TIMEAM          15  5 A 43 5
  1089. PATAM           15 27 A 49 5
  1090. RECAM           15  1 N 77 5
  1091. TIMEAM           4  5 A  4 6
  1092. PATAM            4 27 A 10 6
  1093. RECAM            4  1 N 38 6
  1094. TIMEAM          16  5 A 43 6
  1095. PATAM           16 27 A 49 6
  1096. RECAM           16  1 N 77 6
  1097. TIMEAM           5  5 A  4 7
  1098. PATAM            5 27 A 10 7
  1099. RECAM            5  1 N 38 7
  1100. TIMEAM          17  5 A 43 7
  1101. PATAM           17 27 A 49 7
  1102. RECAM           17  1 N 77 7
  1103. TIMEAM           6  5 A  4 8
  1104. PATAM            6 27 A 10 8
  1105. RECAM            6  1 N 38 8
  1106. TIMEAM          18  5 A 43 8
  1107. PATAM           18 27 A 49 8
  1108. RECAM           18  1 N 77 8
  1109. TIMEAM           7  5 A  4 9
  1110. PATAM            7 27 A 10 9
  1111. RECAM            7  1 N 38 9
  1112. TIMEAM          19  5 A 43 9
  1113. PATAM           19 27 A 49 9
  1114. RECAM           19  1 N 77 9
  1115. TIMEAM           8  5 A  410
  1116. PATAM            8 27 A 1010
  1117. RECAM            8  1 N 3810
  1118. TIMEAM          20  5 A 4310
  1119. PATAM           20 27 A 4910
  1120. RECAM           20  1 N 7710
  1121. TIMEAM           9  5 A  411
  1122. PATAM            9 27 A 1011
  1123. RECAM            9  1 N 3811
  1124. TIMEAM          21  5 A 4311
  1125. PATAM           21 27 A 4911
  1126. RECAM           21  1 N 7711
  1127. TIMEAM          10  5 A  412
  1128. PATAM           10 27 A 1012
  1129. TIMEAM          22  5 A 4312
  1130. PATAM           22 27 A 4912
  1131. RECAM           22  1 N 7712
  1132. TIMEAM          11  5 A  413
  1133. PATAM           11 27 A 1013
  1134. RECAM           11  1 N 3813
  1135. TIMEAM          23  5 A 4313
  1136. PATAM           23 27 A 4913
  1137. RECAM           23  1 N 7713
  1138. TIMEAM          12  5 A  414
  1139. PATAM           12 27 A 1014
  1140. RECAM           12  1 N 3814
  1141. TIMEAM          24  5 A 4314
  1142. PATAM           24 27 A 4914
  1143. RECAM           24  1 N 7714
  1144. \
  1145. \SSPATPM   
  1146.            EVENING Appointments for                on                           ┌───────────────
  1147. ──────────────────────────────────────────────────────────────┐ │  p     :p p p p p p p p p p p p p p p p p p p p p p p p
  1148.  p p p p p     p     :p p p p p p p p p p p p p p p p p p p p p p p p p p p p p  │ │  p     :p                            p     p     :p
  1149.                             p  │ │  p     :p                            p     p     :p                
  1150.             p  │ │  p     :p                            p     p     :p                            p  │ 
  1151. │  p     :p                            p     p     :p                            p  │ │  p     :p       
  1152.                      p     p     :p                            p  │ │  p     :p                       
  1153.      p     p     :p                            p  │ │  p     :p                            p     p     :p
  1154.                             p  │ │  p     :p                            p     p     :p                
  1155.             p  │ │  p p p p p p:p                            p     p     :p                            p  │ 
  1156. │  p     :p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p    p     :p p p p p p p p p p p p p p p p p p p p p p p p p p p p p  │ │  p p p p p p:p p p p p p p p
  1157.  p p p p p p p p p p p p p p p p p p p p p p    p p p p p p:p                            p  │ └───────────────────────────────
  1158. ──────────────────────────────────────────────┘                                                 
  1159.                                                                                                 
  1160.                                                                                                 
  1161.                                                                                                 
  1162.                                                                                                 
  1163.                                                                                                 
  1164.                                                                                                 
  1165.                                                                                                 
  1166. \
  1167. DRNAMEAP           15 A 38 1
  1168. DAY                 9 A 53 1
  1169. DRDATE              8 S 63 1
  1170. TIMEPM           1  5 A  4 3
  1171. PATPM            1 27 A 10 3
  1172. RECPM            1  1 N 38 3
  1173. TIMEPM          13  5 A 43 3
  1174. PATPM           13 27 A 49 3
  1175. RECPM           13  1 N 77 3
  1176. TIMEPM           2  5 A  4 4
  1177. PATPM            2 27 A 10 4
  1178. RECPM            2  1 N 38 4
  1179. TIMEPM          14  5 A 43 4
  1180. PATPM           14 27 A 49 4
  1181. RECPM           14  1 N 77 4
  1182. TIMEPM           3  5 A  4 5
  1183. PATPM            3 27 A 10 5
  1184. RECPM            3  1 N 38 5
  1185. TIMEPM          15  5 A 43 5
  1186. PATPM           15 27 A 49 5
  1187. RECPM           15  1 N 77 5
  1188. TIMEPM           4  5 A  4 6
  1189. PATPM            4 27 A 10 6
  1190. RECPM            4  1 N 38 6
  1191. TIMEPM          16  5 A 43 6
  1192. PATPM           16 27 A 49 6
  1193. RECPM           16  1 N 77 6
  1194. TIMEPM           5  5 A  4 7
  1195. PATPM            5 27 A 10 7
  1196. RECPM            5  1 N 38 7
  1197. TIMEPM          17  5 A 43 7
  1198. PATPM           17 27 A 49 7
  1199. RECPM           17  1 N 77 7
  1200. TIMEPM           6  5 A  4 8
  1201. PATPM            6 27 A 10 8
  1202. RECPM            6  1 N 38 8
  1203. TIMEPM          18  5 A 43 8
  1204. PATPM           18 27 A 49 8
  1205. RECPM           18  1 N 77 8
  1206. TIMEPM           7  5 A  4 9
  1207. PATPM            7 27 A 10 9
  1208. RECPM            7  1 N 38 9
  1209. TIMEPM          19  5 A 43 9
  1210. PATPM           19 27 A 49 9
  1211. RECPM           19  1 N 77 9
  1212. TIMEPM           8  5 A  410
  1213. PATPM            8 27 A 1010
  1214. RECPM            8  1 N 3810
  1215. TIMEPM          20  5 A 4310
  1216. PATPM           20 27 A 4910
  1217. RECPM           20  1 N 7710
  1218. TIMEPM           9  5 A  411
  1219. PATPM            9 27 A 1011
  1220. RECPM            9  1 N 3811
  1221. TIMEPM          21  5 A 4311
  1222. PATPM           21 27 A 4911
  1223. RECPM           21  1 N 7711
  1224. TIMEPM          10  5 A  412
  1225. PATPM           10 27 A 1012
  1226. RECPM           10  1 N 3812
  1227. TIMEPM          22  5 A 4312
  1228. PATPM           22 27 A 4912
  1229. RECPM           22  1 N 7712
  1230. TIMEPM          11  5 A  413
  1231. PATPM           11 27 A 1013
  1232. RECPM           11  1 N 3813
  1233. TIMEPM          23  5 A 4313
  1234. PATPM           23 27 A 4913
  1235. RECPM           23  1 N 7713
  1236. TIMEPM          12  5 A  414
  1237. PATPM           12 27 A 1014
  1238. RECPM           12  1 N 3814
  1239. TIMEPM          24  5 A 4314
  1240. PATPM           24 27 A 4914
  1241. RECPM           24  1 N 7714
  1242. \
  1243. \STSLEEP   
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.                        SLEEPING - PRESS A KEY TO WAKE ME
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.  
  1267.  
  1268. \
  1269. \
  1270.